home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Graphics Programming (2nd Edition) / Visual Basic Graphics Programming 2nd Edition.iso / Src / Ch12 / Tokens.bas < prev    next >
BASIC Source File  |  1999-06-17  |  2KB  |  67 lines

  1. Attribute VB_Name = "Tokens"
  2. Option Explicit
  3.  
  4. ' Return the next delimited token from txt.
  5. ' Trim blanks.
  6. Public Function GetDelimitedToken(ByRef txt As String, ByVal delimiter As String) As String
  7. Dim pos As Integer
  8.  
  9.     pos = InStr(txt, delimiter)
  10.     If pos < 1 Then
  11.         ' The delimiter was not found. Return
  12.         ' the rest of txt.
  13.         GetDelimitedToken = Trim$(txt)
  14.         txt = ""
  15.     Else
  16.         ' We found the delimiter. Return the token.
  17.         GetDelimitedToken = Trim$(Left$(txt, pos - 1))
  18.         txt = Trim$(Mid$(txt, pos + Len(delimiter)))
  19.     End If
  20. End Function
  21. ' Replace non-printable characters in txt with
  22. ' spaces.
  23. Public Function NonPrintingToSpace(ByVal txt As String) As String
  24. Dim i As Integer
  25. Dim ch As String
  26.  
  27.     For i = 1 To Len(txt)
  28.         ch = Mid$(txt, i, 1)
  29.         If (ch < " ") Or (ch > "~") Then Mid$(txt, i, 1) = " "
  30.     Next i
  31.     NonPrintingToSpace = txt
  32. End Function
  33.  
  34.  
  35. ' Remove comments starting with ' from the
  36. ' end of lines.
  37. Public Function RemoveComments(ByVal txt As String) As String
  38. Dim pos As Integer
  39. Dim new_txt As String
  40.  
  41.     Do While Len(txt) > 0
  42.         ' Find the next '.
  43.         pos = InStr(txt, "'")
  44.         If pos = 0 Then
  45.             new_txt = new_txt & txt
  46.             Exit Do
  47.         End If
  48.  
  49.         ' Add this part to the result.
  50.         new_txt = new_txt & Left$(txt, pos - 1)
  51.  
  52.         ' Find the end of the line.
  53.         pos = InStr(pos + 1, txt, vbCrLf)
  54.         If pos = 0 Then
  55.             ' There was no vbCrLf.
  56.             ' Remove the rest of the text.
  57.             txt = ""
  58.         Else
  59.             txt = Mid$(txt, pos + Len(vbCrLf))
  60.         End If
  61.     Loop
  62.  
  63.     RemoveComments = new_txt
  64. End Function
  65.  
  66.  
  67.